package com.one.group.service;


import com.mybatisflex.core.service.IService;
import com.one.group.model.dto.AdminDto;
import com.one.group.model.dto.AdminQueryDto;
import com.one.group.model.dto.LoginDto;
import com.one.group.model.dto.UpdateAdminRoleDto;
import com.one.group.model.entity.Admin;
import com.one.group.model.vo.AdminListVo;

import java.util.List;

/**
 * {@code @Create:}  2025-09-28  14 : 55
 * {@code @Author:} Cherry
 * {@code @ToUser:} 凡是发生,皆有利于我。
 * ------------------------------------
 * {@code @note:}
 */
public interface AdminService extends IService<Admin> {

    /**
     * 添加管理员
     *
     * @param adminDto
     * @return
     */
    boolean insertAdmin(AdminDto adminDto);

    /**
     * 登录
     *
     * @param loginDto
     * @return 生成的jwt令牌
     */
    String login(LoginDto loginDto);


    /**
     * 修改管理员角色
     *
     * @param updateAdminRoleDto
     */
    void updateAdminRole(UpdateAdminRoleDto updateAdminRoleDto);


    /**
     * 根据条件查询管理员列表
     *
     * @param adminQueryDto
     * @return
     */
    List<AdminListVo> findAdminByQueryDto(AdminQueryDto adminQueryDto);
}
